// 验证环境配置文件结构
const fs = require('fs');

console.log('=== 验证环境配置文件结构 ===\n');

// 检查 .env（公共配置）
if (fs.existsSync('.env')) {
  const env = fs.readFileSync('.env', 'utf8');
  const hasSensitive = env.includes('PASSWORD') || env.includes('SECRET') || env.includes('_USER');
  const hasPublic = env.includes('PORT') || env.includes('HOST') || env.includes('DATABASE');
  
  console.log('✅ .env 文件存在');
  console.log(`   包含敏感信息: ${hasSensitive ? '❌ 是（不应该）' : '✅ 否（正确）'}`);
  console.log(`   包含公共配置: ${hasPublic ? '✅ 是（正确）' : '❌ 否（不应该）'}`);
} else {
  console.log('❌ .env 文件不存在');
}

console.log('');

// 检查 .env.dev（敏感配置）
if (fs.existsSync('.env.dev')) {
  const dev = fs.readFileSync('.env.dev', 'utf8');
  const hasSensitive = dev.includes('PASSWORD') || dev.includes('SECRET') || dev.includes('_USER');
  
  console.log('✅ .env.dev 文件存在');
  console.log(`   包含敏感信息: ${hasSensitive ? '✅ 是（正确）' : '❌ 否（不应该）'}`);
} else {
  console.log('❌ .env.dev 文件不存在');
}

console.log('');

// 检查 .env.prd（敏感配置）
if (fs.existsSync('.env.prd')) {
  const prd = fs.readFileSync('.env.prd', 'utf8');
  const hasSensitive = prd.includes('PASSWORD') || prd.includes('SECRET') || prd.includes('_USER');
  
  console.log('✅ .env.prd 文件存在');
  console.log(`   包含敏感信息: ${hasSensitive ? '✅ 是（正确）' : '❌ 否（不应该）'}`);
} else {
  console.log('❌ .env.prd 文件不存在');
}

console.log('');

// 检查 .gitignore
if (fs.existsSync('.gitignore')) {
  const gitignore = fs.readFileSync('.gitignore', 'utf8');
  const ignoresEnv = gitignore.includes('.env\n') || gitignore.match(/^\.env$/m);
  const ignoresEnvDev = gitignore.includes('.env.dev');
  const ignoresEnvPrd = gitignore.includes('.env.prd');
  
  console.log('=== .gitignore 配置 ===');
  console.log(`   .env 被忽略: ${ignoresEnv ? '❌ 是（不应该）' : '✅ 否（正确）'}`);
  console.log(`   .env.dev 被忽略: ${ignoresEnvDev ? '✅ 是（正确）' : '❌ 否（不应该）'}`);
  console.log(`   .env.prd 被忽略: ${ignoresEnvPrd ? '✅ 是（正确）' : '❌ 否（不应该）'}`);
}

console.log('\n✅ 验证完成！');

